#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>


void welcome();//登录界面
void user_log();//用户登录
void administrator_log();//管理员登录
int loginUser(char* zhanghao, char* mima);//判断账号密码是否正确


struct asccount //账号信息
{
	char AcName[15];//账号
	char password[15];//密码
	char nickname[15];//用户名
	int isguanli, live;//是否为管理，账号是否存在

}hao[20];
int zhcount = 0;//每注册一个用户就加一










void welcome()
{
	system("cls");//清屏（Windows下可用）
	printf("==========================================\n");
	printf("             欢迎使用图书信息管理系统             \n");
    printf("******************************************\n");
	printf("             1.注册账号             \n");
	printf("             2.用户登录             \n");
	printf("             3.管理员登录           \n");
    printf("==========================================\n");
	printf("             0.退出系统             \n");
    printf("==========================================\n");
    printf("\n您好，请输您的选择(1,2,3,0):\n");
}





void user_log()//用户登录
{
	system("cls");//清屏（Windows下可用）
	while (1)
	{
		char a[15], b[15];
		printf("请输入账号\n");
		scanf("%s", a);
		printf("请输入密码\n");
		scanf("%s", b);
		if (loginUser(a, b))
		{
			printf("登录成功\n");
			break;
		}
		else
		{
			printf("账号或密码错误，请重新输入\n");
		}
	}
	system("PAUSE");//起到让程序执行到此处时暂停的作用，等待用户按下任意键后再继续往下执行或者关闭命令行窗口（windows可用）
	yhjm();//跳转到用户界面
}







void administrator_log()//管理员登录
{
	system("cls");//清屏（Windows下可用）
	int i;
	while (1)
	{
		char a[15], b[15];
		printf("请输入账号\n");
		scanf("%s", a);
		printf("请输入密码\n");
		scanf("%s", b);
		for (i = 0; i<zhcount; i++)
		{
			if (!hao[i].live)
				continue;
			if (strcmp(a, hao[i].AcName) == NULL)
				break;
		}
		if (hao[i].isguanli == 0) {
			printf("非管理账号，请重新输入\n");
			continue;
		}
		if (loginUser(a, b))
		{
			printf("登录成功\n");
			break;
		}
		else
		{
			printf("账号或密码错误，请重新输入\n");
		}
	}
	system("PAUSE");
	glyjm();
}

int loginUser(char* zhanghao, char* mima)
{
	int i;
	for (i = 0; i <zhcount; i++)
	{
		if (!hao[i].live)
			continue;
		if (strcmp(zhanghao, hao[i].AcName) == NULL)
			break;
	}
	if (i == zhcount)
		return 0;//找不到账号
	else
	{
		if (strcmp(mima, hao[i].password) == NULL)
			return 1;//密码正确
		else
			return 0;//密码错误
	}
}